home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / cmsrc392.zip / TEXTIT.MF < prev    next >
Text File  |  1992-03-30  |  2KB  |  58 lines

  1. % The Computer Modern Text Italic family (by D. E. Knuth, 1979--1985)
  2.  
  3. mode_setup; font_setup;
  4.  
  5. input itall;  % lower case (minuscules)
  6. input italsp;  % lowercase specials (dotless \i, ligature \ae, etc.)
  7. if ligs>1: font_coding_scheme:="TeX text";
  8.  spanish_shriek=oct"074"; spanish_query=oct"076";
  9.  input italig;  % letter ligatures
  10. else: font_coding_scheme:=if ligs=0: "TeX typewriter text"
  11.   else: "TeX text without f-ligatures" fi;
  12.  spanish_shriek=oct"016"; spanish_query=oct"017"; fi
  13.  
  14. font_slant slant; font_x_height x_height#;
  15. if monospace: font_normal_space 9u#; % no stretching or shrinking
  16.  font_quad 18u#;
  17.  font_extra_space 9u#;
  18.  letter_fit#:=letter_fit:=0;
  19. else: font_normal_space 6u#+2letter_fit#;
  20.  font_normal_stretch 3u#; font_normal_shrink 2u#;
  21.  font_quad 18u#+4letter_fit#;
  22.  font_extra_space 2u#; fi
  23.  
  24. input romanu;  % upper case (majuscules)
  25. input greeku;  % upper case greek letters
  26. input itald;  % numerals
  27. input italp;  % ampersand, question marks, currency sign
  28. input romspu;  % uppercase specials (\AE, \OE, \O)
  29. input punct;  % punctuation symbols common to roman and italic text
  30. input accent;  % accents common to roman and italic text
  31. if ligs>0: input comlig; fi  % ligatures common with roman text
  32. if ligs<=1: input romsub; fi  % substitutes for ligatures
  33.  
  34. ligtable "!": "`" =: spanish_shriek;
  35. ligtable "?": "`" =: spanish_query;
  36.  
  37. if not monospace:
  38.  k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
  39.  ligtable "d": "w": "l": "l" kern +u#;
  40.  ligtable "F": "V": "o" kern kk#, "e" kern kk#,
  41.    "u" kern kk#, "r" kern kk#, "a" kern kk#, "A" kern kkk#,
  42.   "K": "X": "O" kern k#, "C" kern k#, "G" kern k#, "Q" kern k#;
  43.  ligtable "T": "y" kern kk#,
  44.   "Y": "e" kern kk#, "o" kern kk#, "r" kern kk#, "a" kern kk#, "u" kern kk#,
  45.   "P": "W": "A" kern kk#;
  46.  ligtable "O": "D": "X" kern k#, "W" kern k#, "A" kern k#,
  47.    "V" kern k#, "Y" kern k#;
  48.  ligtable "A": "R": "n" kern k#, "l" kern k#, "r" kern k#, "u" kern k#,
  49.    "m" kern k#, "t" kern k#, "i" kern k#, "C" kern k#, "O" kern k#, "G" kern k#,
  50.    "h" kern k#, "b" kern k#, "U" kern k#, "k" kern k#, "v" kern k#, "w" kern k#,
  51.    "Q" kern k#, "L": "T" kern kk#, "Y" kern kk#, "V" kern kkk#, "W" kern kkk#,
  52.   "b": "c": "e": "o": "p": "r": "e" kern -u#, "a" kern -u#, "o" kern -u#,
  53.    "d" kern -u#, "c" kern -u#, "g" kern -u#, "q" kern -u#;
  54.  ligtable "n": "'" kern kkk#; fi
  55. % there are ligature/kern programs for |"f"| in the {\tt italig} file
  56. % and for |"-"|, |"`"|, and |"'"| in the {\tt comlig} file
  57. bye.
  58.